package com.zw.a.basic.a14.demo10_tcp_exercise;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

//案例: 客户端给服务器端上传文件, 并接收服务器端的回执信息.
//自定义的服务器端, 用来接收客户端传过来的数据, 并将其写入到目的地文件中, 然后给客户端一个回执信息"上传成功"
public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //1. 创建服务器端的Socket对象.
        ServerSocket server = new ServerSocket(12345);

        //因为不知道有多少个客户端建立连接, 所以用while(true)一致监听.
        while(true) {
            //2. 监听客户端连接, 并返回一个对象的Socket对象.
            Socket accept = server.accept();
            //3. 为每一个客户端开启一个线程.
            new Thread(new ServerThread(accept)).start();
        }
    }
}
